package estrategia;

import java.io.IOException;

import protocolo.Pedido;

public class Paralelizador extends Thread {
	
	private Controlador controlador;
	private Pedido pedido;
	
	/**
	 * Constructor para cuando la accion es ejecutarEstrategia
	 */
	public Paralelizador(Controlador controlador) {
		this.controlador = controlador;
		this.pedido = null;
	}
	
	/**
	 * Constructor para cuando la accion es ejecutarTarea
	 */
	public Paralelizador(Controlador controlador, Pedido pedido) {
		this.controlador = controlador;
		this.pedido = pedido;
	}
	
	public void run() {
		try {
			if (pedido == null) {
				// Hay que ejecutar la estrategia entera
				controlador.ejecutarEstrategia();
			} else {
				// Hay que ejecutar una tarea puntual
				controlador.ejecutarTarea(pedido);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
